224 research outputs found

    Code offloading in opportunistic computing

    Get PDF
    With the advent of cloud computing, applications are no longer tied to a single device, but they can be migrated to a high-performance machine located in a distant data center. The key advantage is the enhancement of performance and consequently, the users experience. This activity is commonly referred computational offloading and it has been strenuously investigated in the past years. The natural candidate for computational offloading is the cloud, but recent results point out the hidden costs of cloud reliance in terms of latency and energy; Cuervo et. al. illustrates the limitations on cloud-based computational offloading based on WANs latency times. The dissertation confirms the results of Cuervo et. al. and illustrates more use cases where the cloud may not be the right choice. This dissertation addresses the following question: is it possible to build a novel approach for offloading the computation that overcomes the limitations of the state-of-the-art? In other words, is it possible to create a computational offloading solution that is able to use local resources when the Cloud is not usable, and remove the strong bond with the local infrastructure? To this extent, I propose a novel paradigm for computation offloading named anyrun computing, whose goal is to use any piece of higher-end hardware (locally or remotely accessible) to offloading a portion of the application. With anyrun computing I removed the boundaries that tie the solution to an infrastructure by adding locally available devices to augment the chances to succeed in offloading. To achieve the goals of the dissertation it is fundamental to have a clear view of all the steps that take part in the offloading process. To this extent, I firstly provided a categorization of such activities combined with their interactions and assessed the impact on the system. The outcome of the analysis is the mapping to the problem to a combinatorial optimization problem that is notoriously known to be NP-Hard. There are a set of well-known approaches to solving such kind of problems, but in this scenario, they cannot be used because they require a global view that can be only maintained by a centralized infrastructure. Thus, local solutions are needed. Moving further, to empirically tackle the anyrun computing paradigm, I propose the anyrun computing framework (ARC), a novel software framework whose objective is to decide whether to offload or not to any resource-rich device willing to lend assistance is advantageous compared to local execution with respect to a rich array of performance dimensions. The core of ARC is the nference nodel which receives a rich set of information about the available remote devices from the SCAMPI opportunistic computing framework developed within the European project SCAMPI, and employs the information to profile a given device, in other words, it decides whether offloading is advantageous compared to local execution, i.e. whether it can reduce the local footprint compared to local execution in the dimensions of interest (CPU and RAM usage, execution time, and energy consumption). To empirically evaluate ARC I presented a set of experimental results on the cloud, cloudlet, and opportunistic domain. In the cloud domain, I used the state of the art in cloud solutions over a set of significant benchmark problems and with three WANs access technologies (i.e. 3G, 4G, and high-speed WAN). The main outcome is that the cloud is an appealing solution for a wide variety of problems, but there is a set of circumstances where the cloud performs poorly. Moreover, I have empirically shown the limitations of cloud-based approaches, specifically, In some circumstances, problems with high transmission costs tend to perform poorly, unless they have high computational needs. The second part of the evaluation is done in opportunistic/cloudlet scenarios where I used my custom-made testbed to compare ARC and MAUI, the state of the art in computation offloading. To this extent, I have performed two distinct experiments: the first with a cloudlet environment and the second with an opportunistic environment. The key outcome is that ARC virtually matches the performances of MAUI (in terms of energy savings) in cloudlet environment, but it improves them by a 50% to 60% in the opportunistic domain

    Interaction and communication among autonomous agents in multiagent systems

    Get PDF
    The main goal of this doctoral thesis is to investigate a fundamental topic of research within the Multiagent Systems paradigm: the problem of defining open, heterogeneous, and dynamic interaction frameworks. That is to realize interaction systems where multiple agents can enter and leave dynamically and where no assumptions are made on the internal structure of the interacting agents. Such topic of research has received much attention in the past few years. In particular the need to realize applications where artificial agents can interact negotiate, exchange information, resources, and services has become more and more important thanks to the advent of Internet. I started my studies by developing a trading agent that took part to an international trading on-line game: the First Trading Agent Competition (TAC). During the design and development phase of the trading agent some crucial and critical troubles emerged: the problem of accurately understanding the rules that govern the different auctions; and the problem of understanding the meaning of the numerous messages. Another general problem is that the internal structure of the developed trading agent have been strongly determined by the peculiar interface of the interaction system, consequently without any changes in its code, it would not be able to take part to any other competition on the Web. Furthermore the trading agent would not have been able to exploit opportunities, to handle unexpected situations, or to reason about the rules of the various auctions, since it is not able to understand the meaning o the exchanged messages. The presence of all those problems bears out the need to find a standard common accepted way to define open interaction systems. The most important component of every interaction framework, as is remarked also by philosophical studies on human communication is the institution of language. Therefore I start to investigate the problem of defining a standard and common accepted semantics for Agent Communication Languages (ACL). The solutions proposed so far are at best partial, and are considered as unsatisfactory by a large number of specialists. In particular, they are unable to support verifiable compliance to standards and to make agents responsible for their communicative actions. Furthermore such proposals make the strong assumption that every interacting agent may be modeled as a Belief-Desire-Intention agent. What is required is an approach focused on externally observable events as opposed to the unobservable internal states of agents. Following Speech Act Theory that views language use as a form of action, I propose an operational specification for the definition of a standard ACL based on the notion of social commitment. In such a proposal the meaning of basic communicative acts is defined as the effect that it has on the social relationship between the sender and the receiver described through operation on an unambiguous, objective, and public "object": the commitment. The adoption of the notion of commitment is crucial to stabilize the interaction among agents, to create an expectation on other agents behavior, to enable agents to reason about their and other agents actions. The proposed ACL is verifiable, that is, it is possible to determine if an agent is behaving in accordance to its communicative actions; the semantics is objective, independent of the agent's internal structure, flexible and extensible, simple, yet enough expressive. A complete operational specification of an interaction framework using the proposed commitment-based ACL is presented. In particular some sample applications of how to use the proposed framework to formalize interaction protocols are reported. A list of soundness conditions to test if a protocol is sound is proposed

    Matheuristics for robust optimization: application to real-world problems

    Get PDF
    In the field of optimization, the perspective that the problem data are subject to uncertainty is gaining more and more interest. The uncertainty in an optimization problem represents the measurement errors during the phase of collecting data, or unforeseen changes in the environment while implementing the optimal solution in practice. When the uncertainty is ignored, an optimal solution according to the mathematical model can turn out to be far from optimal, or even infeasible in reality. Robust optimization is an umbrella term for mathematical modelling methodologies focused on finding solutions that are reliable against the data perturbations caused by the uncertainty. Among the relatively more recent robust optimization methodologies, an important concept studied is the degree of conservativeness, which can be explained as the amount of targeted reliability against the uncertainty while looking for a solution. Because the reliability and solution cost usually end up being conflicting objectives, it is important for the decision maker to be able to configure the conservativeness degree, so that the desired balance between the cost and reliability can be obtained, and the most practical solution can be found for the problem at hand. The robust optimization methodologies are typically proposed within the framework of mathematical programming (i.e. linear programming, integer programming). Thanks to the nature of mathematical programming, these methodologies can find the exact optimum, according to the various solution evaluation perspectives they have. However, dependence on mathematical programming might also mean that such methodologies will require too much memory from the computer, and also too much execution time, when large-scale optimization problems are considered. A common strategy to avoid the big memory and execution time requirements of mathematical programming is to use metaheuristic optimization algorithms for solving large problem instances.In this research, we propose an approach for solving medium-to-large-sized robust optimization problem instances. The methodology we propose is a matheuristic (i.e. a hybridization of mathematical programming and metaheuristic). In the matheuristic approach we propose, the mathematical programming part handles the uncertainty, and the metaheuristic part handles the exploration of the solution space. Since the exploration of the solution space is entrusted onto the metaheuristic search, we can obtain practical near-optimal solutions while avoiding the big memory and time requirements that might be brought by pure mathematical programming methods. The mathematical programming part is used for making the metaheuristic favor the solutions which have more protections against the uncertainty. Another important characteristic of the methodology we propose is concurrency with information exchange: we concurrently execute multiple processes of the matheuristic algorithm, each process taking the uncertainty into account with a different degree of conservativeness. During the execution, these processes exchange their best solutions. So, if a process is stuck on a bad solution, it can realize that there is a better solution available thanks to the information exchange, and it can get unstuck. In the end, the solutions of these processes are collected into a solution pool. This solution pool provides the decision maker with alternative solutions with different costs and conservativeness degrees. Having a solution pool available at the end, the decision maker can make the most practical choice according to the problem at hand. In this thesis, we first discuss our studies in the field of robust optimization: a heuristic approach for solving a minimum power multicasting problem in wireless actuator networks under actuator distance uncertainty, and a linear programming approach for solving an aggregate blending problem in the construction industry, where the amounts of components found in aggregates are subject to uncertainty. These studies demonstrate the usage of mathematical programming for handling the uncertainty. We then discuss our studies in the field of matheuristics: a matheuristic approach for solving a large-scale energy management problem, and then a matheuristic approach for solving large instances of minimum power multicasting problem. In these studies, the usage of metaheuristics for handling the large problem instances is emphasized. In our study of solving minimum power multicasting problem, we also incorporate the mechanism of information exchange between different solvers. Later, we discuss the main matheuristic approach that we propose in this thesis. We first apply our matheuristic approach on a well-known combinatorial optimization problem: capacitated vehicle routing problem, by using an ant colony optimization as the metaheuristic part. Finally, we discuss the generality of the methodology that we propose: we suggest that it can be used as a general framework on various combinatorial optimization problems, by choosing the most appropriate metaheuristic algorithm according to the nature of the problem

    Symbiotic interaction between humans and robot swarms

    Get PDF
    Comprising of a potentially large team of autonomous cooperative robots locally interacting and communicating with each other, robot swarms provide a natural diversity of parallel and distributed functionalities, high flexibility, potential for redundancy, and fault-tolerance. The use of autonomous mobile robots is expected to increase in the future and swarm robotic systems are envisioned to play important roles in tasks such as: search and rescue (SAR) missions, transportation of objects, surveillance, and reconnaissance operations. To robustly deploy robot swarms on the field with humans, this research addresses the fundamental problems in the relatively new field of human-swarm interaction (HSI). Four groups of core classes of problems have been addressed for proximal interaction between humans and robot swarms: interaction and communication; swarm-level sensing and classification; swarm coordination; swarm-level learning. The primary contribution of this research aims to develop a bidirectional human-swarm communication system for non-verbal interaction between humans and heterogeneous robot swarms. The guiding field of application are SAR missions. The core challenges and issues in HSI include: How can human operators interact and communicate with robot swarms? Which interaction modalities can be used by humans? How can human operators instruct and command robots from a swarm? Which mechanisms can be used by robot swarms to convey feedback to human operators? Which type of feedback can swarms convey to humans? In this research, to start answering these questions, hand gestures have been chosen as the interaction modality for humans, since gestures are simple to use, easily recognized, and possess spatial-addressing properties. To facilitate bidirectional interaction and communication, a dialogue-based interaction system is introduced which consists of: (i) a grammar-based gesture language with a vocabulary of non-verbal commands that allows humans to efficiently provide mission instructions to swarms, and (ii) a swarm coordinated multi-modal feedback language that enables robot swarms to robustly convey swarm-level decisions, status, and intentions to humans using multiple individual and group modalities. The gesture language allows humans to: select and address single and multiple robots from a swarm, provide commands to perform tasks, specify spatial directions and application-specific parameters, and build iconic grammar-based sentences by combining individual gesture commands. Swarms convey different types of multi-modal feedback to humans using on-board lights, sounds, and locally coordinated robot movements. The swarm-to-human feedback: conveys to humans the swarm's understanding of the recognized commands, allows swarms to assess their decisions (i.e., to correct mistakes: made by humans in providing instructions, and errors made by swarms in recognizing commands), and guides humans through the interaction process. The second contribution of this research addresses swarm-level sensing and classification: How can robot swarms collectively sense and recognize hand gestures given as visual signals by humans? Distributed sensing, cooperative recognition, and decision-making mechanisms have been developed to allow robot swarms to collectively recognize visual instructions and commands given by humans in the form of gestures. These mechanisms rely on decentralized data fusion strategies and multi-hop messaging passing algorithms to robustly build swarm-level consensus decisions. Measures have been introduced in the cooperative recognition protocol which provide a trade-off between the accuracy of swarm-level consensus decisions and the time taken to build swarm decisions. The third contribution of this research addresses swarm-level cooperation: How can humans select spatially distributed robots from a swarm and the robots understand that they have been selected? How can robot swarms be spatially deployed for proximal interaction with humans? With the introduction of spatially-addressed instructions (pointing gestures) humans can robustly address and select spatially- situated individuals and groups of robots from a swarm. A cascaded classification scheme is adopted in which, first the robot swarm identifies the selection command (e.g., individual or group selection), and then the robots coordinate with each other to identify if they have been selected. To obtain better views of gestures issued by humans, distributed mobility strategies have been introduced for the coordinated deployment of heterogeneous robot swarms (i.e., ground and flying robots) and to reshape the spatial distribution of swarms. The fourth contribution of this research addresses the notion of collective learning in robot swarms. The questions that are answered include: How can robot swarms learn about the hand gestures given by human operators? How can humans be included in the loop of swarm learning? How can robot swarms cooperatively learn as a team? Online incremental learning algorithms have been developed which allow robot swarms to learn individual gestures and grammar-based gesture sentences supervised by human instructors in real-time. Humans provide different types of feedback (i.e., full or partial feedback) to swarms for improving swarm-level learning. To speed up the learning rate of robot swarms, cooperative learning strategies have been introduced which enable individual robots in a swarm to intelligently select locally sensed information and share (exchange) selected information with other robots in the swarm. The final contribution is a systemic one, it aims on building a complete HSI system towards potential use in real-world applications, by integrating the algorithms, techniques, mechanisms, and strategies discussed in the contributions above. The effectiveness of the global HSI system is demonstrated in the context of a number of interactive scenarios using emulation tests (i.e., performing simulations using gesture images acquired by a heterogeneous robotic swarm) and by performing experiments with real robots using both ground and flying robots

    Electronic phase separation near the superconductor-insulator transition of Nd1+xBa2−xCu3O7−δ thin films studied by an electric-field-induced doping effect

    Get PDF
    We report a detailed study of the transport properties of Nd(1+x)Ba(2-x)Cu(3)O(7-delta) thin films with doping changed by field effect. The data cover the whole superconducting to insulating transition and show remarkable Similarities with the effect of chemical doping in high critical temperature superconductors. The results suggest that the add-on of carriers is accompanied by an electronic phase separation, independent on the details of the doping mechanism

    An Outlier Exposure Approach to Improve Visual Anomaly Detection Performance for Mobile Robots

    Full text link
    We consider the problem of building visual anomaly detection systems for mobile robots. Standard anomaly detection models are trained using large datasets composed only of non-anomalous data. However, in robotics applications, it is often the case that (potentially very few) examples of anomalies are available. We tackle the problem of exploiting these data to improve the performance of a Real-NVP anomaly detection model, by minimizing, jointly with the Real-NVP loss, an auxiliary outlier exposure margin loss. We perform quantitative experiments on a novel dataset (which we publish as supplementary material) designed for anomaly detection in an indoor patrolling scenario. On a disjoint test set, our approach outperforms alternatives and shows that exposing even a small number of anomalous frames yields significant performance improvements
    • …
    corecore